热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

沙恩说|解决ZabbixSender无法发送过长内容

DevOps中Zabbix与Jenkins结合的问题解决-ZabbixSende


蔡翔华(Shawn沙恩)

  • 招商银行信用卡中心技术经理

  • 国内首批ZCP,Zabbix中文手册官方译者。

  • 2018年Zabbix峰会演讲,主题《Zabbix 在 Fintech 环境中的实践》。

  • 2017年Zabbix峰会演讲,主题《Zabbix在企业中的落地以及最佳实践 》。

求:Zabbix Sender无法发送过长内容,怎么破?

解:在DevOps部署过程中,通过Jenkins调用Zabbix Sender将应用部署结果发送给Zabbix中的Item。同时,配置了一个触发器,当该Item有值时,将Item Value通过短信发送给部署管理员。


大致的逻辑如下:

Jenkins(通过Zabbix Sender发送构建结果) --> Zabbix Server --> Action(通过Trigger触发告警,通知管理员)


但是触发的短信有明显被截断的现象,于是开始对这个问题进行排查

01


首先,由于最先发送短信的平台是Jenkins,先确认Jenkins发送的短信内容是否完整。

确认后,发送的内容是完整的。

02


第二步,看一下接收方:Zabbix上Item的数据,发现数据的确有缺失。


基本定位到了问题,在于Zabbix接受数据产生了异常,由于其他监控没有出现异常,是个别问题,猜测是Item配置有问题,于是看下Item具体的配置。


看上去没什么问题,但是注意这个细节,此处选择的类型为Character,由于并不是无法收集数据,而是数据被截断了,所以怀疑是类型的长度限制。


03


最后,查看官方文档的描述,在数据库中,对于Character类型支持最多255个字符。


于是,将类型改为text,问题得到解决。

此处需要注意,由于类型变化,数据重新存储,历史数据不再显示。


解决思路


回顾这个问题解决的思路,可以归结为narrow down模型:

  1. 分解从Jenkins部署到收到短信的全链路环节和关系调用。

  2. 从头检查每个环节的输入、输出,是否有异常,定位具体哪个环节出现问题。

  3. 发现在Zabbix接受数据环节出现问题后,定位具体的细节,是网络有问题?还是Item配置,或者其他环节?

  4. 解决问题,fix it。


  Workshop 实践操作课  

沙恩老师讲解的具体问题是不是解决了你的疑问?欢迎来2020Zabbix峰会,专家手把手带你实操,精选主题,任你挑选!请带上你的电脑,准备好你的问题!









Zabbix 实践操作

延伸阅读

  • Zabbix专栏—沙恩说

  • 米宏—Zabbix5.0 快速安装部署教程!够快!

  • 伍昕—美国新能源科技公司Netco从零开始Zabbix的自动化之路

  • 何星—Zabbix自动注册功能实践在线课

  • 张世宏—当代张思德:做技术很孤独,没有弯道超车,但有捷径




推荐阅读
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 实践指南:利用Jenkins与JMeter实现自动化测试报告通知
    本文详细介绍了如何结合Jenkins和JMeter工具,通过自定义脚本向用户发送测试报告的通知。这不仅提高了开发团队的工作效率,也确保了信息的及时传递。 ... [详细]
  • 本文介绍了在 CentOS 7 系统中如何查看所有活动进程及其运行时间。通过使用 `netstat` 和 `ps` 命令,您可以轻松获取进程的详细信息,包括启动时间、用户、终端和命令等。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 解决Jenkins编译过程中ERROR: Failed to Parse POMs的问题
    在使用Jenkins进行自动化构建时,有时会遇到“ERROR: Failed to parse POMs”的错误。本文将详细分析该问题的原因,并提供有效的解决方案。 ... [详细]
  • 无论你是刚毕业的大学生,还是想在职业中寻求进步的经验丰富的IT专家,这些提示都可以帮你成为DevOps工程师。DevOps工程是一个备受称赞的热门职业。不管你是刚毕业正在找第一份工 ... [详细]
author-avatar
手机用户2502931823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有